package com.demo.java.OD351_400.OD381;

import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【跳房子I(B卷)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146238718
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 解析输入的数组
        String input = scanner.nextLine();
        input = input.substring(1, input.length() - 1);  // 去除前后中括号
        String[] numStrings = input.split(",");
        int[] nums = new int[numStrings.length];

        // 将字符串数组转换为整数数组
        for (int i = 0; i < nums.length; i++) {
            nums[i] = Integer.parseInt(numStrings[i].trim());
        }

        // 读取目标值
        int target = scanner.nextInt();

        // 初始化变量
        int minIdxSum = nums.length * 2;  // 最小索引和
        HashMap<Integer, Integer> hashDic = new HashMap<>();  // 存储已遍历的数和索引
        int[] ans = new int[2];  // 存储最终结果

        // 遍历数组
        for (int i = 0; i < nums.length; i++) {
            int num = nums[i];  // 当前数
            int restNum = target - num;  // 计算差值

            // 如果差值已经出现在哈希表中
            if (hashDic.containsKey(restNum)) {
                // 更新最小索引和
                if (minIdxSum > hashDic.get(restNum) + i) {
                    minIdxSum = hashDic.get(restNum) + i;
                    ans[0] = restNum;  // 差值
                    ans[1] = num;  // 当前数
                }
            }

            // 如果当前数未被遍历过，加入哈希表
            if (!hashDic.containsKey(num)) {
                hashDic.put(num, i);
            }
        }

        // 输出结果
        System.out.println("[" + ans[0] + "," + ans[1] + "]");
    }
}